package com.ruoyi.record.service;

import java.util.List;

import com.ruoyi.record.domain.RecordLeave;
import com.ruoyi.record.domain.RecordSociety;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.regexp.RE;

/**
 * 申请记录Service接口
 * 
 * @author ruoyi
 * @date 2023-11-23
 */
public interface IRecordSocietyService extends IService<RecordSociety>
{
    /**
     * 查询申请记录
     * 
     * @param societyId 申请记录主键
     * @return 申请记录
     */
    public RecordSociety selectRecordSocietyBySocietyId(Long societyId);

    /**
     * 查询申请记录列表
     * 
     * @param recordSociety 申请记录
     * @return 申请记录集合
     */
    public List<RecordSociety> selectRecordSocietyList(RecordSociety recordSociety);

    /**
     * 查询申请记录列表
     *
     * @param createBy 申请记录
     * @return 申请记录集合
     */
    public List<RecordSociety> selectRecordSocietyList(String createBy);

    /**
     * 新增申请记录
     * 
     * @param recordSociety 申请记录
     * @return 结果
     */
    public int insertRecordSociety(RecordSociety recordSociety);

    /**
     * 修改申请记录
     * 
     * @param recordSociety 申请记录
     * @return 结果
     */
    public int updateRecordSociety(RecordSociety recordSociety);

    /**
     * 修改申请记录
     *
     * @param recordSociety 申请记录
     * @return 结果
     */
    public int verifyRecordSociety(RecordSociety recordSociety);

    /**
     * 查询待审批申请列表
     *
     * @param recordSociety 申请记录
     * @return 申请记录集合
     */
    public List<RecordSociety> selectVerifySocietyList(RecordSociety recordSociety);

    /**
     * 批量删除申请记录
     * 
     * @param societyIds 需要删除的申请记录主键集合
     * @return 结果
     */
    public int deleteRecordSocietyBySocietyIds(String societyIds);

    /**
     * 删除申请记录信息
     * 
     * @param societyId 申请记录主键
     * @return 结果
     */
    public int deleteRecordSocietyBySocietyId(Long societyId);

    /**
     * 打印查询
     *
     * @param societyId 请假记录主键
     * @return 请假记录
     */
    public RecordSociety selectRecordSocietyByPrint(Long societyId);
}
